const Koa = require('koa');
// 中间件架构 + MVC设计模式
const axios = require('axios');
const app = new Koa();
// 如歌得知数据库查询，或rpc调用花了多少时间  
// 1. 计时中间件
// 1. 接口请求 独立的中间件
app.use(async (ctx,next) => {
    const start = new Date();
    await next();
    const delta = new Date() - start;
    console.log(`请求耗时 ${delta} ms`)
    console.log('拿到上一次请求的结果',ctx.state.baiduHTML);
})
app.use(async (ctx,next) => {
    ctx.state.baiduHTML = await axios.get('http://www.baidu.com')
})

app.listen(8080,() => {
    console.log('Server is starting');
})